热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

ML|自动编码器

ML|自动编码器原文:https://www.geeksfor

ML |自动编码器

原文:https://www.geeksforgeeks.org/ml-auto-encoders/

神经网络的一个典型应用是监督学习。它包括训练数据包含一个输出标签。神经网络试图学习从给定输入到给定输出标签的映射。但是如果输出标签被输入向量本身代替了呢?然后网络将尝试找到从输入到自身的映射。这将是一个平凡映射的恒等式。

但如果不允许网络简单复制输入,那么网络将被迫只捕捉显著特征。这种限制为未知的神经网络开辟了一个不同的应用领域。主要应用是降维和特定数据压缩。

首先在给定的输入上训练网络。该网络试图从它拾取的特征中重构给定的输入,并给出作为输出的输入的近似值。训练步骤包括误差的计算和误差的反向传播。自动编码器的典型架构类似于瓶颈。

自动编码器的示意结构如下:

网络的编码器部分用于编码,有时甚至用于数据压缩目的,尽管与其他通用压缩技术如 JPEG 相比,它不是很有效。编码是通过网络的编码器部分实现的,该部分在每一层中具有数量逐渐减少的隐藏单元。因此,这一部分被迫只提取数据中最重要和最具代表性的特征。网络的后半部分执行解码功能。该部分在每一层中具有越来越多的隐藏单元,因此试图从编码数据中重建原始输入。****

因此,自动编码器是一种无监督学习技术。

*训练用于数据压缩的自动编码器:*对于数据压缩过程,压缩最重要的方面是压缩数据重建的可靠性。这一要求决定了自动编码器的结构是一个瓶颈。

*第一步:对输入数据进行编码*

自动编码器首先尝试使用初始化的权重和偏差对数据进行编码。

*第二步:解码输入数据*

自动编码器试图从编码数据中重建原始输入,以测试编码的可靠性。

*步骤 3:反向传播错误*

在重建之后,计算损失函数以确定编码的可靠性。产生的错误被反向传播。

多次重复上述训练过程,直到达到可接受的重建水平。

在训练过程之后,仅保留自动编码器的编码器部分,以对训练过程中使用的类似类型的数据进行编码。

约束网络的不同方法如下


  • *保持较小的隐藏层:*如果每个隐藏层的大小保持尽可能小,那么网络将被迫只拾取数据的代表性特征,从而对数据进行编码。

  • *正则化:*在该方法中,将损失项添加到成本函数中,这鼓励网络以不同于复制输入的方式进行训练。

  • *去噪:*约束网络的另一种方法是向输入添加噪声,并教网络如何从数据中去除噪声。

  • *调整激活函数:*该方法涉及改变各个节点的激活函数,使得大部分节点处于休眠状态,从而有效减小隐藏层的大小。

自动编码器的不同变体是:-


  • *去噪自动编码器:*这种类型的自动编码器在部分损坏的输入上工作,并训练以恢复原始的未失真图像。如上所述,这种方法是限制网络简单复制输入的有效方法。

  • *稀疏自动编码器:*这种类型的自动编码器通常包含比输入更多的隐藏单元,但一次只允许有几个处于活动状态。这种特性被称为网络的稀疏性。网络的稀疏性可以通过手动调零所需的隐藏单元、调整激活函数或在成本函数中添加损失项来控制。

  • *变分自动编码器:*这种类型的自动编码器对潜在变量的分布做出强假设,并在训练过程中使用随机梯度变分贝叶斯估计器。它假设数据是由定向图形模型生成的,并试图学习条件属性q_{\theta}(z|x)的近似q_{\phi}(z|x),其中\phi\theta分别是编码器和解码器的参数。


推荐阅读
  • 尽管使用TensorFlow和PyTorch等成熟框架可以显著降低实现递归神经网络(RNN)的门槛,但对于初学者来说,理解其底层原理至关重要。本文将引导您使用NumPy从头构建一个用于自然语言处理(NLP)的RNN模型。 ... [详细]
  • 基于2-channelnetwork的图片相似度判别一、相关理论本篇博文主要讲解2015年CVPR的一篇关于图像相似度计算的文章:《LearningtoCompar ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 使用Python在SAE上开发新浪微博应用的初步探索
    最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ... [详细]
  • 卷积神经网络(CNN)基础理论与架构解析
    本文介绍了卷积神经网络(CNN)的基本概念、常见结构及其各层的功能。重点讨论了LeNet-5、AlexNet、ZFNet、VGGNet和ResNet等经典模型,并详细解释了输入层、卷积层、激活层、池化层和全连接层的工作原理及优化方法。 ... [详细]
  • Python处理Word文档的高效技巧
    本文详细介绍了如何使用Python处理Word文档,涵盖从基础操作到高级功能的各种技巧。我们将探讨如何生成文档、定义样式、提取表格数据以及处理超链接和图片等内容。 ... [详细]
  • Windows 7 64位系统下Redis的安装与PHP Redis扩展配置
    本文详细介绍了在Windows 7 64位操作系统中安装Redis以及配置PHP Redis扩展的方法,包括下载、安装和基本使用步骤。适合对Redis和PHP集成感兴趣的开发人员参考。 ... [详细]
  • 雨林木风 GHOST XP SP3 经典珍藏版 V2017.11
    雨林木风 GHOST XP SP3 经典珍藏版 V2017.11 ... [详细]
  • 本文详细介绍了福昕软件公司开发的Foxit PDF SDK ActiveX控件(版本5.20),并提供了关于其在64位Windows 7系统和Visual Studio 2013环境下的使用方法。该控件文件名为FoxitPDFSDKActiveX520_Std_x64.ocx,适用于集成PDF功能到应用程序中。 ... [详细]
  • 精致小屏灰色风格苹果CMS v10模板,支持DIY主题管理系统
    探索一款专为影视站设计的苹果CMS v10模板,具备强大的主题管理系统和500多个设置项,无需二次开发即可轻松配置。下载地址:https://www.mytheme.cn/maccms/244.html,演示地址:http://demo.mytheme.cn/index.php?id=244。 ... [详细]
  • 本文提供了 CIW Dreamweaver MX2004 认证考试的详细试题解析,涵盖不同难度级别的选择题、多项选择题和判断题。通过这些题目,考生可以更好地理解考试内容并为实际考试做好准备。 ... [详细]
  • 本文深入探讨了MySQL中常见的面试问题,包括事务隔离级别、存储引擎选择、索引结构及优化等关键知识点。通过详细解析,帮助读者在面对BAT等大厂面试时更加从容。 ... [详细]
  • 利用Java与Tesseract-OCR实现数字识别
    本文深入探讨了如何利用Java语言结合Tesseract-OCR技术来实现图像中的数字识别功能,旨在为开发者提供详细的指导和实践案例。 ... [详细]
  • 在Ubuntu 16.04中使用Anaconda安装TensorFlow
    本文详细介绍了如何在Ubuntu 16.04系统上通过Anaconda环境管理工具安装TensorFlow。首先,需要下载并安装Anaconda,然后配置环境变量以确保系统能够识别Anaconda命令。接着,创建一个特定的Python环境用于安装TensorFlow,并通过指定的镜像源加速安装过程。最后,通过一个简单的线性回归示例验证TensorFlow的安装是否成功。 ... [详细]
  • 回顾与学习是进步的阶梯。再次审视卷积神经网络(CNNs),我对之前不甚明了的概念有了更深的理解。本文旨在分享这些新的见解,并探讨CNNs在图像识别和自然语言处理等领域中的实际应用。 ... [详细]
author-avatar
博客百度2
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有